3. Dados
1 Diretório
2 Pacotes e diretório
3 Importação
4 Pacote rio
O pacote rio é um pacote R relativamente recente utilizado para importação e exportação de dados. Ele faz suposições sobre o formato do arquivo (veja os formatos suportados aqui), ou seja, adivinha o formato do arquivo que você está tentando importar e, consequentemente, aplica funções de importação apropriadas a esse formato. Tudo isso é feito com a função import().
4.1 Do excel
4.1.1 Um arquivo
# primeira planilha do excel
df_excel <- import("df_excel.xlsx")
df_excel RAD REP AF_M2 AF MST
1 50 1 5.02 5016.429 12.30785
2 50 2 3.65 3648.359 10.73315
3 50 3 3.93 3925.333 10.86140
4 50 4 4.71 4705.269 10.97850
5 70 1 6.12 6118.425 15.75180
6 70 2 5.61 5614.233 13.30495
7 70 3 5.11 5109.944 13.88435
8 70 4 4.98 4975.857 13.09225
9 100 1 5.46 5464.528 16.92240
10 100 2 5.55 5551.951 14.93085
11 100 3 5.72 5723.849 16.12900
12 100 4 5.87 5869.697 15.78145
4.1.2 Vários arquivos
(padrao <- list.files(pattern = "df_excel"))[1] "df_excel.xlsx"
df_lista <- import_list(file = padrao)
str(df_lista)List of 2
$ Planilha1:'data.frame': 12 obs. of 5 variables:
..$ RAD : num [1:12] 50 50 50 50 70 70 70 70 100 100 ...
..$ REP : num [1:12] 1 2 3 4 1 2 3 4 1 2 ...
..$ AF_M2: num [1:12] 5.02 3.65 3.93 4.71 6.12 5.61 5.11 4.98 5.46 5.55 ...
..$ AF : num [1:12] 5016 3648 3925 4705 6118 ...
..$ MST : num [1:12] 12.3 10.7 10.9 11 15.8 ...
$ traits :'data.frame': 12 obs. of 2 variables:
..$ AF : num [1:12] 5016 3648 3925 4705 6118 ...
..$ MST: num [1:12] 12.3 10.7 10.9 11 15.8 ...
5 Rstudio
A forma mais comum do pesquisador digitar seus dados é através de planilhas eletrônicas do Excel. Para carregar esses dados, basta ir em Import Dataset na área de trabalho. O passo a passo está descrito abaixo:
6 Exportar
# exportar para excel
export(df_excel, "exportado.xlsx")7 Tutorial Importação e Exportação
8 Dados tidy
Conjuntos de dados organizados são fáceis de manipular, modelar e visualizar, e possuem uma estrutura específica: cada variável é uma coluna, cada observação é uma linha e cada tipo de unidade observacional é uma tabela (Wickham, 2014)1
8.1 Mesmos dados, diferentes formas
Nesta seção você aprenderá organizar dados no R no formato tidy. Colocar seus dados nesse formato requer algum trabalho inicial, mas esse trabalho compensa a longo prazo. Aqui, um foco especial será dado nas funções do pacote tidyr e do pacote metan. Se você quiser saber mais sobre a teoria por tras dos dados tidy, poderá apreciar o artigo Tidy Data.
Você pode representar os mesmos dados várias maneiras. O exemplo abaixo mostra os mesmos dados organizados de quatro maneiras diferentes. Cada conjunto de dados mostra os mesmos valores de duas variáveis (ALT_ESP, ALT_PLANT) mensuradas em três híbridos (HIBRIDO), considerando três repetições (BLOCOS).
df <- import_list("examples_data.xlsx")
df$df1 HIBRIDO BLOCO ALT_PLANT ALT_ESP
1 H1 I 3.002 1.878
2 H1 II 2.974 1.834
3 H1 III 2.814 1.674
4 H2 I 2.104 0.910
5 H2 II 2.120 1.034
6 H2 III 1.924 1.018
7 H3 I 2.132 1.052
8 H3 II 2.126 1.012
9 H3 III 2.182 0.992
df$df2 HIBRIDO BLOCO VARIAVEL VALOR
1 H1 I ALT_PLANT 3.002
2 H1 I ALT_ESP 1.878
3 H1 II ALT_PLANT 2.974
4 H1 II ALT_ESP 1.834
5 H1 III ALT_PLANT 2.814
6 H1 III ALT_ESP 1.674
7 H2 I ALT_PLANT 2.104
8 H2 I ALT_ESP 0.910
9 H2 II ALT_PLANT 2.120
10 H2 II ALT_ESP 1.034
11 H2 III ALT_PLANT 1.924
12 H2 III ALT_ESP 1.018
13 H3 I ALT_PLANT 2.132
14 H3 I ALT_ESP 1.052
15 H3 II ALT_PLANT 2.126
16 H3 II ALT_ESP 1.012
17 H3 III ALT_PLANT 2.182
18 H3 III ALT_ESP 0.992
df$df3 HIBRIDO ALT_ESP_I ALT_ESP_II ALT_ESP_III ALT_PLANT_I ALT_PLANT_II
1 H1 1.878 1.834 1.674 3.002 2.974
2 H2 0.910 1.034 1.018 2.104 2.120
3 H3 1.052 1.012 0.992 2.132 2.126
ALT_PLANT_III
1 2.814
2 1.924
3 2.182
df$df4 HIBRIDO name I II III
1 H1 ALT_PLANT 3.002 2.974 2.814
2 H1 ALT_ESP 1.878 1.834 1.674
3 H2 ALT_PLANT 2.104 2.120 1.924
4 H2 ALT_ESP 0.910 1.034 1.018
5 H3 ALT_PLANT 2.132 2.126 2.182
6 H3 ALT_ESP 1.052 1.012 0.992
Essas são todas representações dos mesmos dados, mas são completamente diferentes do ponto de vista de uso.
Um conjunto de dados tidy é um conjunto de dados onde as três regras à seguir são respeitadas:
- Cada variável deve ter sua própria coluna.
- Cada observação deve ter sua própria linha.
- Cada valor deve ter sua própria célula.
A Figura à seguir mostra as regras visualmente.
Após vermos estas regras, percebemos que dos quatro conjuntos apresentados anteriormente, apenas df é tidy. Ao usarmos conjuntos de dados tidy vamos poder aproveitar uma das belezas do R: a possibilidade de aplicar funções à vetores, que neste caso nada mais são do que os valores presentes em cada coluna.
9 Inspeção
maize <- df$maize
plot_intro(maize)plot_histogram(maize)plot_missing(maize)# pacote metan
inspect(maize, plot = TRUE)# A tibble: 10 × 10
Variable Class Missing Levels Valid_n Min Median Max Outlier Text
<chr> <chr> <chr> <chr> <int> <dbl> <dbl> <dbl> <dbl> <chr>
1 AMB character No 0 780 NA NA NA NA Line…
2 HIB character No 0 780 NA NA NA NA Line…
3 REP character No 0 780 NA NA NA NA Line…
4 APLA_PLANT numeric Yes - 772 0 2.52 3.3 7 <NA>
5 AIES_PLANT numeric No - 780 0.5 1.38 2.39 1 <NA>
6 CESP numeric Yes - 776 0.8 15.4 20.4 16 <NA>
7 DIES numeric Yes - 779 36.4 50.0 59.7 1 <NA>
8 MGRA numeric No - 780 58.5 174. 291. 0 <NA>
9 MMG numeric No - 780 123. 344. 546. 6 <NA>
10 NGRA numeric Yes - 779 147 517 903 10 <NA>
Warning: Considering the levels of factors, .data should have 1 rows, but it
has 780. Use 'as_factor()' for coercing a variable to a factor.
Warning: Expected three or more factor variables. The data has only 0.
Warning: Missing values in variable(s) APLA_PLANT, CESP, DIES, NGRA.
Warning: Possible text fragments in variable(s) AMB, HIB, REP.
Warning: Possible outliers in variable(s) APLA_PLANT, AIES_PLANT, CESP, DIES,
MMG, NGRA. Use 'find_outliers()' for more details.
Warning: Zero values observed in variable(s) APLA_PLANT.
9.1 Preencher valores
Observe o seguinte conjunto de dados
Na hora da coleta de dados é muito comum observar células mescladas em conjuntos de dados. Observe o que acontece quando estes dados são importados para o software R.
(mesclado <- df$fill) AMB HIBRIDO BLOCO ALT_PLANT
1 A1 H1 I 3.002
2 <NA> <NA> II 2.974
3 <NA> <NA> III 2.814
4 <NA> H2 I 2.104
5 <NA> <NA> II 2.120
6 <NA> <NA> III 1.924
7 A2 H1 I 3.002
8 <NA> <NA> II 2.974
9 <NA> <NA> III 2.814
10 <NA> H2 I 2.104
11 <NA> <NA> II 2.120
12 <NA> <NA> III 1.924
A função fill() do pacote tidyr pode ser utilizada para preencher valores faltantes. Ela preenche os valores ausentes nas colunas selecionadas. Isso é útil no formato de saída comum em que os valores não são repetidos e são registrados apenas quando são alterados. Par
(preenchido <- fill(mesclado, AMB, HIBRIDO)) AMB HIBRIDO BLOCO ALT_PLANT
1 A1 H1 I 3.002
2 A1 H1 II 2.974
3 A1 H1 III 2.814
4 A1 H2 I 2.104
5 A1 H2 II 2.120
6 A1 H2 III 1.924
7 A2 H1 I 3.002
8 A2 H1 II 2.974
9 A2 H1 III 2.814
10 A2 H2 I 2.104
11 A2 H2 II 2.120
12 A2 H2 III 1.924
Footnotes
Wickham, Hadley. 2014. “Tidy Data”. Journal of Statistical Software 59: 1–23.↩︎